home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1991 …esperately Seeking Seven / Desperately Seeking Seven.hdv / Dev.CD.8 / Essentials / Tools / SANE / IDS / MAKEABS (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1989-03-14  |  1.4 KB  |  66 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 1000  TEXT : HOME : PRINT "RELOCATOR - V1.0 - 8/1/84"
  2. 1050  DIM HEX(4)
  3. 1060 HEX(1) = 0:HEX(2) = 0:HEX(3) = 0:HEX(4) = 0
  4. 1100  PRINT : PRINT 
  5. 1200  PRINT "This program will relocate your assembly"
  6. 1300  PRINT "program to any specific address."
  7. 1400  PRINT "It will write out the relocated object"
  8. 1500  PRINT "to a binary file."
  9. 1600  PRINT : PRINT "Enter file name to be relocated:"
  10. 1800  INPUT INFILE$
  11. 1810 INLN =  LEN(INFILE$)
  12. 1815  IF INLN = 0  THEN 4900
  13. 1820  PRINT : PRINT "Enter relocation address in hexadecimal:"
  14. 1830  INPUT RELADR$
  15. 1840 RELN =  LEN(RELADR$)
  16. 1850  IF RELN = 0  THEN 4900
  17. 1860  IF RELN >4  THEN 1820
  18. 1870 ZERO$ = "000"
  19. 1880 RELADR$ =  MID$ (ZERO$,1,4 -RELN) +RELADR$
  20. 1920  FOR I = 1 TO 4
  21. 1930 A$ =  MID$ (RELADR$,I,1)
  22. 1940  IF ( ASC(A$) - ASC("0")) >9  THEN 1970
  23. 1945  IF ( ASC(A$) - ASC("0")) <0  THEN 1820
  24. 1950 HEX(I) =  ASC(A$) - ASC("0")
  25. 1960  GOTO 2020
  26. 1970  IF ( ASC(A$) - ASC("A")) >5  THEN 2000
  27. 1975  IF ( ASC(A$) - ASC("A")) <0  THEN 1820
  28. 1980 HEX(I) =  ASC(A$) - ASC("A") +10
  29. 1990  GOTO 2020
  30. 2000  IF ( ASC(A$) - ASC("a")) >5  THEN 1820
  31. 2005  IF ( ASC(A$) - ASC("a")) <0  THEN 1820
  32. 2010 HEX(I) =  ASC(A$) - ASC("a") +10
  33. 2020  NEXT I
  34. 2030 HIADR% = HEX(1) *16 +HEX(2)
  35. 2040 LOWADR% = HEX(3) *16 +HEX(4)
  36. 2080  PRINT : PRINT "Enter name of output binary file:"
  37. 2100  INPUT OUTFILE$
  38. 2110 OUTLN =  LEN(OUTFILE$)
  39. 2130  IF OUTLN = 0  THEN 4900
  40. 2150 PKADR = 608:A$ = " ":I = 0:J = 0
  41. 2200  FOR I = 1 TO INLN
  42. 2300 A$ =  MID$ (INFILE$,I,1)
  43. 2400 J =  ASC(A$)
  44. 2500  POKE PKADR,J
  45. 2600 PKADR = PKADR +1
  46. 2700  NEXT 
  47. 2800  POKE PKADR,0
  48. 2900 PKADR = 544
  49. 3000  FOR I = 1 TO OUTLN
  50. 3100 A$ =  MID$ (OUTFILE$,I,1)
  51. 3200 J =  ASC(A$)
  52. 3300  POKE PKADR,J
  53. 3400 PKADR = PKADR +1
  54. 3500  NEXT 
  55. 3600  POKE PKADR,0
  56. 4000  POKE 25,LOWADR%
  57. 4100  POKE 26,HIADR%
  58. 4200  PRINT  CHR$(4);"BLOAD REL2ABS"
  59. 4300  POKE 11,0
  60. 4400  POKE 12,14
  61. 4500 J =  USR(0)
  62. 4600  IF J = 0  THEN  GOTO 4800
  63. 4700  PRINT : PRINT "RELOCATION COMPLETE"
  64. 4750  GOTO 4900
  65. 4800  PRINT : PRINT "NO OUTPUT FILE WRITTEN"
  66. 4900  END